Systems and methods for generating and sharing video clips of cloud-provisioned games

ABSTRACT

Systems and methods for managing sharing of mini-games over a game cloud system include receiving a request to play a first game executed by the game cloud system, from a first user. The first user is enabled to play the first game, in response to the request, and a recorded video of the game play of the first user is generated. A share request is received from the first user to share the recorded video of the game play. The share request includes a location indicator identifying a location within the recorded video. A video clip is generated from the recorded video of the game play of the first user by including a portion of the recorded video defined in relation to the location indicator identified in the share request. The video clip is shared with one or more users based on information provided in the share request.

CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. 119 (e), to U.S.Provisional Patent Application No. 61/746,478, filed on Dec. 27, 2012,and entitled “Systems and Methods for Sharing Cloud-Executed Mini-Games,Challenging Friends and Enabling Crowd Source Rating,” the disclosure ofwhich is herein incorporated by reference in its entirety.

This application claims priority as a continuation-in-part of U.S.application Ser. No. 13/797,894, filed on Mar. 12, 2013, and entitled,“Systems and Methods for Sharing Cloud-Executed Mini-Games, ChallengingFriends and Enabling Crowd Source Rating,” the disclosure of which isincorporated herein by reference in its entirety for all purposes.

BACKGROUND

1. Field of the Invention

The present invention relates to systems and methods for defining,sharing and playing mini-games in a cloud executed system.

2. Description of the Related Art

Cloud systems deliver services over a network (typically the Internet)using computing resources (hardware and software). The services, in thecontext of gaming, enable streaming of content to remote clients,wherein most processing is done on servers, which may be distributed.Input provided at the remote clients will in turn drive execution of thegame on the servers, without the need for dedicated gaming hardware atthe client's location. Due to the ease of accessing the games executingon the cloud systems, cloud gaming has been increasing in popularitybecause users find it easier to access more titles without complexhardware restrictions. Similarly, game suppliers find it easier tomanage game code from centralized locations.

It is in this context that embodiments of the invention arise.

SUMMARY

Embodiments of the present invention relate to systems and methods formanaging sharing of a game video in a game cloud executed system, and inparticular to the sharing of video clips and mini-games with otherusers. Several inventive embodiments of the present invention aredescribed below.

In one embodiment, a method for managing sharing of game videos forgames created, provisioned and executed in a game cloud system isdisclosed. The method includes receiving a request from a first user toaccess an account managed by the game cloud system. A plurality of gamesprovisioned and executed by the game cloud system that are available forgame play, are identified and presented on a user interface to the firstuser to view and access. The first user is enabled to play a first gameand a recorded video of the game play by the first user is generated. Ashare request is received from the first user to share the recordedvideo of the game play. The share request received from the first userduring the game play of the first game includes a location indicatorthat identifies a location within the recorded video. A video clip isgenerated from the recorded video of the game play by the first user, inresponse to the share request. The video clip includes a portion of therecorded video defined in relation to the location indicator identifiedin the share request. The video clip is shared with one or more usersbased on information provided in the share request. The video clip ofthe first user is associated with the first game and is stored in thegame cloud system along with other video clips shared by other users.Comments/interactions provided by users in response to the sharing ofthe video clip are gathered and used in generating a relative popularityscore of the video clip generated from the game play of the first gameby the first user.

In one embodiment, the sharing of the video clip is by posting the videoclip to a website, wherein the website used for posting the video clipis one or more social networks, the game cloud system, or a combinationthereof. The posting to the one or more social networks is in the formof a link in a social stream or a newsfeed.

In one embodiment, the link is an internal link that is configured toprovide a game interface to access and view the video clip from withinthe social stream or the newsfeed of the social network. User inputassociated with the video clip at the game interface is used by the gamecloud system to rank the video clips.

In one embodiment, the posting of the video clip includes a link with apicture that is representative of content contained therein and apopularity score associated with the video clip.

In one embodiment, a method for managing sharing of a game video in agame cloud system is disclosed. The method includes receiving a requestto access a game managed by the game cloud system, from a first user. Inresponse to the request, a user interface with available video clips forthe game identified in the request, is generated. The video clipscapture portions of video recordings of game play of the game that areshared by other users. The video clips are organized within the userinterface based on relative ranking. Each available video clip ispresented in the user interface as a link with a picture that isrepresentative of content contained therein and a correspondingpopularity metric. The user interface with the organized video clips ispresented for selection and viewing by the user.

In yet another embodiment, a system for managing sharing of a game videoover a game cloud system is disclosed. The game cloud system includes agame server having a memory to store a game processor module and aprocessor configured to execute the game processor module from memory.The game processor module includes processing logic to, provide accessto an user account managed by the game cloud system; generate andpresent a user interface with a plurality of games available for viewingand playing for the user account, wherein the games are played on andexecuted by the game cloud system; enable selection and play of a firstgame by a first user, the play of the first game used to generate arecorded video of the game play of the first user; receive a sharerequest to share the recorded video of the game play, from the firstuser, the share request received during game play of the first game andincludes a location indicator identify a location within the recordedvideo; and generate a video clip from the recorded video of the gameplay by the first user, the video clip including a portion of therecorded video defined in relation to the location indicator identifiedin the share request; and sharing the video clip with one or more usersbased on information provided in the share request.

Other aspects of the invention will become apparent from the followingdetailed description, taken in conjunction with the accompanyingdrawings, illustrating by way of example the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by reference to the followingdescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1A illustrates a simplified block diagram of a generic system usedfor managing execution and sharing of video games and mini-games over agame cloud system, in accordance with an embodiment of the invention.

FIG. 1B illustrates a detailed block diagram of the generic systemillustrated in FIG. 1A identifying various modules used for accessing,playing, and sharing of video games and mini-games stored in a gamecloud system, in accordance with an embodiment of the invention.

FIG. 1C illustrates a game cloud network, in accordance with oneembodiment of the present invention.

FIG. 1D illustrates an exemplary user profile stored in a game cloudsystem, in accordance with one embodiment of the present invention.

FIG. 1E illustrates a simplified block diagram of a system used ingenerating video clip for a game provisioned and executed on a gamecloud system and sharing the generated video clip with other users, inone embodiment of the invention.

FIG. 2 illustrates mini-games created based on a video recording, inaccordance with one embodiment of the present invention.

FIG. 3A illustrates a mini-game data profile stored in mini-game datastore, in accordance with one embodiment of the present invention.

FIG. 3B illustrates a block diagram showing the components of the userinteractions defining user metrics and/or game metrics for a sharedmini-game, in accordance with one embodiment of the present invention.

FIG. 4A illustrates a generic social network web page showing theclassified and the ranked mini-games, in accordance with one embodimentof the present invention.

FIG. 4B illustrates an instant replay of a displayed mini-game renderedon the social network web page, in accordance with one embodiment of thepresent invention.

FIG. 4C illustrates a webpage of a game cloud system website renderingan exemplary game library of sorted and classified games/mini-gamesavailable to a user upon accessing the game cloud system and a gameinterface for viewing the mini-game posted by the user, in accordancewith one embodiment of the present invention.

FIG. 4D illustrates a webpage of FIG. 4C with the game interface forviewing and playing a post of a different user in response to thechallenge posted by the different user, in one embodiment of theinvention.

FIG. 5A illustrates a social stream/newsfeed within a social network ofa first user rendering a mini-game post for game play with challengecomment and associated posts by other users responding to the challengecomment, in accordance with one embodiment of the present invention.

FIG. 5B illustrates a webpage that shows a compact version of mini-gamealong with available mini-game play videos, in accordance with oneembodiment of the present invention.

FIG. 6 illustrates the various features of the post and the user/gamemetrics that are updated at the game cloud system from the posts, inaccordance with one embodiment of the invention.

FIG. 7 is a flow chart illustrating an exemplary method for managingexecution and sharing of mini-games over a game cloud system, inaccordance with one embodiment of the present invention.

FIG. 8 is a flow chart illustrating an exemplary method for managingsharing of game video over a game cloud system, in accordance with analternate embodiment of the present invention.

DETAILED DESCRIPTION

The following embodiments describe systems and methods for managingexecution and sharing of mini-games over a game cloud-based system. Themanagement of the mini-games includes, but is not limited to,classifying, ranking, and sharing mini-game in posts within a network,based on user interactions at the mini-games. In one embodiment, duringthe sharing of particular mini-games, users are provided withfunctionality to enable challenging of other users for postedmini-games. The challenges are saved and displayed to other users, whilealso enabling the viewing users to play the mini-games and participatein the challenge or challenges. In addition to sharing mini-games, someembodiments describe methods for identifying and sharing portions ofvideos of a game recorded during game play, based on share requestsreceived from specific ones of the users that generated such recordings.

In one embodiment, as described in greater detail below, the mini-gamesto be shared are custom defined by users. The creation of mini-games, inone embodiment, begins by allowing users to play a full game, which theyhave access to play from an online database.

The game play, in one embodiment, is through a cloud based processingsystem that enables streaming of online game play, while allowing usersto provide interactive input from remote locations that are connected tothe internet. While the users play the game, a video recording of thegame is created, capturing the game play activity from the game playsession of the respective users. In one embodiment, a user is allowed toselect a portion of the video recording. The selection of the portion ofthe video recording is used, in one embodiment, to define the mini-gamethat is to be created. The user defined mini-game will therefore be asegment or part of the full game, with a defined start and end point asdefined by the user. In one embodiment, the segment may have all of thefeatures of the full game. In other embodiments, the segment may haveless features, objects, controls, etc., than the full game. In oneembodiment, the user defines the start and end points by selecting thestart and end points in the video recording.

The result is a custom selected section of the full game, defined as anexecutable mini-game. As the mini-game was defined from the videorecording, the mini-game may also be provided with an accompanying videorecording portion, or clip. In one embodiment, as more users createmini-games, it is possible that many different mini-games can be createdfrom the same full game title, with each mini-game having differentstart and end points.

Because the mini-games have customization associated with the user thatcreated the mini-game, users may have a desire to share the mini-gameswith others. For example, the portion of the video recording that isassociated with each mini-game will show the game play of the user thatcreated the mini-game. The game play may show, for example, theaccomplishments by the user, such as particular game scores, awards,etc.

In yet another embodiment, a user may want to just share a selectedportion of the video recording game play of the user, with other users.The user, in this embodiment, may initiate a share request for sharingthe portion of the video recording. The share request may include alocation indicator identifying a location within the video recording,which may be used to identify the user selected portion of the videorecording for generating a video clip that is to be shared with otherusers, in response to the share request of the user. The informationprovided in the share request is used to extract the relevant portion ofthe video recording of the game play. In one embodiment, the sharerequest may include a length of game play in relation to the locationindicator that needs to be included in the video clip. In oneembodiment, the share request may provide information related to whichportion of the recorded video that needs to be extracted. For example,the share request may indicate a portion of the recorded video coveringthe length of game play starting at the location indicator, ending atthe location indicator or including portions from before and after thelocation indicator. The length of game play may be pre-defined or may becontrolled by the user. More details with regards to generating thevideo clips will be discussed with reference to FIG. 1 e.

In one embodiment, the mini-games and/or video clips can be shared via agame network, where users of the game network can post their createdmini-games and/or video clips. In another embodiment, users can postlinks to the mini-games and/or video clips on one or more socialnetworks. As a result of the sharing, other users in the game network orsocial network will be allowed access to the mini-games and/or the videoclips. In one embodiment, the sharing of video clips for a gamegenerated by users may be on a retailer's/game owner's or developer'swebsite. The game retailers/game owners may use the video clips tomarket the game product by allowing users visiting the retailers'websites to view the video clips of selective portions of game playshared by players so as to influence the users to buy the game. Theusers may use the video clips to sample the game before committing tobuy the game, thereby enhancing the users internet gaming experience.Such experience may potentially enhance the users' loyalty to the gameretailer/developer.

In one embodiment, the mini-game will include two parts; one part is thevideo portion showing the game play of the user that created themini-game, and a second part is an executable portion of the mini-gamethat parallels the section of the full game that was used to create themini-game. In addition to the video portion and the executable portion,the mini-games may also include challenge comment provided by the userthat created the mini-game.

In another embodiment, the user interface returned to the usersrequesting access to the game executing on the game cloud system,includes a plurality of video clips shared by other users that areavailable for the game. The user interface may present the video clipsin an organized manner based on popularity of the video clips amongstother users. The popularity of the video clips may be determined bymonitoring user interactions to the video clips within the one or moresocial networks, in response to presenting the video clips within asocial media stream/newsfeed of the one or more social networks.

In the embodiment that includes the video recording and executableportion of the mini-game, during the sharing process, the users will beallowed to view the portion of the video recording of the mini-game andalso play the mini-game posted by the creator. During the viewing of thevideo recording portion or at any time during the mini-game access theusers can opt to play the executable portion of the mini-game. The gameplays of the mini-game are used to generate mini-game play videos. Themini-game play videos capture the user activities of the one or moreusers during their respective game play and may include challengeresponses to the challenge comment provided within the post of themini-game. In one embodiment, the challenge response may be a responseto an original challenge comment issued by the user that posted themini-game for sharing or may be a response to other users' challengeresponse. The challenge response may be in the form of comments, text,additional postings, additional videos, links to additional videos,images or other annotations. In the embodiment wherein a user interfacewith video clips of a game are presented, the users are able to selectany of the video clips to view the game play recorded therein. Thisoption will provide the users with a sampling of the game, which maypotentially lead to buying of the game. In some embodiments, the rate atwhich mini-games/video clips are shared, viewed, played, commented on,etc., can be used to provide higher ratings to the mini-games/videoclips and to the creator/other users.

In one embodiment, higher rated mini-games/video clips will be providedwith higher prominence on game websites. In other embodiments,mini-games/video clips that are highly rated can provide rewards to theposting user and/or the creator/retailer/owner of the game that isassociated with the video clips. This, in turn, may provide for abuilt-in mechanism to encourage better quality posting/sharing ofmini-games/video clips. Along similar lines, mini-games/video clipscreated by higher rated users may be preferred over other users whenrendering a recommended list of mini-games/video clips at the websitewhen a user accesses the game cloud system.

In one embodiment, user interactions with a mini-game may includechallenge response and social network content associated with themini-game. The social network content of the mini-game may include thenumber of times the mini-game is shared, the number of times themini-game is viewed, the number of times the mini-game is played, thenumber of recommendations for the mini-game, the number of commentsentered for the mini-game, the number of users that responded to thechallenge comment, the number of created mini-game play videos, the rateat which mini-games are shared, the quality of the mini-game play videosgenerated by other users, the number of plays by highly rated players,etc.

Each classified and ranked mini-game may be displayed based on theclassifying categories in the forms of mini-game symbols (e.g.,mini-game icons). In some embodiments, in addition to the mini-gamesymbols, an initial image that is most representative of content of thevideo recording of the mini-game may be identified and associated withthe mini-game when displayed. Additionally, the mini-games in eachcategory may be organized based on popularity, chronologically or anyother pre-defined format. In some embodiments, the ratings of thedifferent mini-games are computed based on the social network contentand this rating is used for sorting the mini-games and for renderingthese ratings alongside the selected ones of the mini-games returned forrendering. Similarly, the social network content may also be used torate the users and to compute user status of the different users. Usingthe rating and status of the different users, mini-games are selectedfor rendering on the game website. When a mouse is hovered over amini-game symbol, some of the video frames of the mini-game representedby the mini-game symbol will be automatically played. Further examplesand embodiments will now be described below with reference to theexemplary drawings.

In one embodiment that includes rendering the video clips for a game,the social network content for a shared video clip may includeinformation related to the social interactions at the shared video clipincluding, the number of times the video clip is shared, the number oftimes the video clip is viewed, the number of recommendations orcomments received for the video clip, the rate at which video clips areshared, the quality of the video clips generated by the users, thenumber of video clips generated by highly rated players, etc.Information from the social network content, in some embodiments, isused to generate a ranked list of select ones of the video clips for agame to be returned to a user, in response to a request from the user toaccess the game. In some other embodiments, the video clips for eachgame may be organized in a chronological manner and presented to a user,in response to a request to access the game executing on the game cloudsystem. The video clips returned to a user are presented in a userinterface. Each video clip in the user interface includes a link to thevideo clip, a picture representative of content within the video clipand one or more popularity metrics, such as a popularity score, numberof users that have viewed the video clips, etc.

It will be obvious, however, to one skilled in the art, that the presentinvention may be practiced without some or all of these specificdetails. In other instances, well known process operations have not beendescribed in detail in order not to unnecessarily obscure the presentinvention.

With the above general understanding of the various embodiments, exampledetails of the embodiments will now be described with reference to thevarious drawings. FIG. 1A illustrates a simplified block diagram of agame server system 100A used for managing execution and sharing ofmini-games within a game cloud system 110, in accordance with anembodiment of the invention. In some embodiments, the game cloud systemmay include a plurality of virtual machines (VMs) running on ahypervisor of a host machine (or simply a host), with one or morevirtual machines configured to execute a game processor module utilizingthe hardware resources available to the hypervisor of the host. A gameprocessor module 310 is configured for managing execution of games andgeneration and sharing of mini-games/video clips within the game cloudsystem 110. As shown, the system 100A includes a game server 300executing the game processor module 310 that provides access to aplurality of interactive video games and associated mini-games/videoclips and a game client 100 for requesting access to games/mini-gamesover a network 120, such as the Internet, and for rendering thegames/mini-games/video clips of the games returned by the game server300 on a display device 132. It should be noted that the game client 100is any type of computing device having at least a memory and a processormodule that is capable of connecting to the game server 300 over thenetwork 120 and for interacting with the game server to execute arendered portion of the video game/mini-game. Some examples of gameclient device include a personal computer (PC), home theater PC, generalpurpose computer, mobile computing device, or any other types ofcomputing devices that can interact with the game server to execute avideo game. The game server may be any type of server computing deviceavailable in the cloud, including a virtual machine executing on a host,and accessed remotely through the network 120.

The game client (or simply “the client”) requests access to the gamesthrough a user interface provided on a display 132 of the client 100. Insome embodiments, the user interface may include a user authenticationmodule to validate a user before servicing a request for providingaccess to the games from the game network. In response to the request,the game server identifies a plurality of video games, populates agraphical user interface (GUI) with the identified set of plurality ofvideo games and returns the user interface to a client for rendering atthe display 132. Each video game may include an initial image associatedwith it that is representative of the video game. The GUI is populatedwith the identified video games, initial images associated with each ofthe identified video games and returned to the client device forrendering. Each game may be associated with a plurality ofmini-games/video clips. In some embodiments, the mini-games/video clipsare defined by users. Further, each game may be associated with aprimary video segment. The primary video segment may be a result of gameplay of the video game by a user within the game cloud system or asocial network. The primary video segment is associated with the videogame within the game cloud system and is available for sharing.

In some embodiments, each user defined mini-game within a video game mayinclude a trigger event, a task to be performed, a sequence of steps ormoves, or a challenge to be handled or overcome. Similarly, each userdefined video clip includes video recording of game play by the user inresponse to a trigger event, performance of a task, the sequence ofsteps/moves or challenges performed/overcome by a user during game playof the game. In one embodiment, each mini-game defined represents apre-selected portion of the associated game that is less than an entirepart of the game. Along similar lines, each video clip generated by auser represents a selected portion of the recorded game play of the userthat is less than the complete video recording of the game. In oneembodiment, each video game may be associated with one or moremini-games/video clips and each mini-game of the video game may beassociated with a mini-game play video. In another embodiment, some ofthe video games may include one or more mini-games and other games maynot have any mini-games associated with it. In one embodiment, the GUIgenerated with the video games, in response to the request from theclient, may provide indicators (not shown) to identify which of thevideo games have one or more mini-games associated with it and which ofthe video games have no mini-games associated with it. In oneembodiment, the GUI generated includes one or more video clips for agame that is shared by users. The generated GUI of video games/videoclips is rendered at the display 132 of the client device 100. Thedisplay 132 may be any type of display that is capable of visuallyrendering the GUI interface identifying video games (or simply “games”)and includes such devices as a monitor or television utilizing any ofvarious types of display technologies, such as LCD, plasma, and DLPtechnologies. Though not specifically shown, the display 132 may alsoutilize a projector which projects a GUI image onto a display screen,wall, or other flat or other surface for viewing.

User activity at the GUI is monitored and analyzed to determine type ofactivity detected at the GUI. When a passive selection activity isdetected proximate to an image of one of the plurality of video games, aprimary video segment of the particular video game or a video clip of aportion of the game play of the video game shared by users, isidentified for rendering at the display 132 of the client device. Thevideo clip selected may be a top-ranked video clip based on popularityof the video clip amongst users of the game. In the instance a primaryvideo segment of the video game is selected, active selection activity,such as one or more mouse clicks, touch, voice, gesture, one or moretaps, input through a game controller, etc., at the video game may bedetected either during the rendering of the primary video segment or atan initial image of the video game rendered on the GUI. The activeselection activity triggers a selection event that results in aninstance of the executable code of the video game to be loaded to thegame cloud system enabling play of the selected video game at the clientdevice 100. The loading of the executable code also includes detectingtype of client device associated with a user providing the selectionactivities, and/or type of controller available for the user to provideinput to the video game. In one embodiment, the active selectionactivity at the video game triggers an select buying event that resultsin the generation of a user interface for buying the online game. Theselect buying event may be triggered when the user is accessing thevideo clips on a website of a game retailer.

When a user logs in to the cloud game network, the user may be presentedwith an option to designate the type of client device through which theuser is accessing the cloud game network. In one embodiment, a series ofclient device options are presented from which the user may select onecorresponding to his/her client device. Similarly, the user may also bepresented with an option to designate the type of controller device theywill use to play a video game. In one embodiment, a series of controlleroptions can be presented to the user, from which the user may select todesignate a controller type corresponding to their controller hardware.In other embodiments, the cloud game network can be configured toautomatically detect the client device type and/or the controller devicetype.

For example, at the time of login, the client device may sendinformation to the game server identifying itself as well as a connectedcontroller device (e.g. in response to a request from the game server).Based on this information, the game server within the game cloud systemmay determine an appropriate video game output configuration and inputparameter configuration to provide a gaming experience optimized for theuser's client device and controller device. In one embodiment, a look-uptable is employed to determine video game configuration and inputparameter configuration based on a detected client device and a detectedcontroller device. These configuration and input parameters are used togenerate the pre-defined setup parameters. The setup parameters provideinformation at the client device to define controls for playing thevideo game. In addition to the setup parameters, a social mediainterface 121 may also be provided at the client device to enable socialinteraction with other users.

To assist in the managing execution and sharing of the mini-games at thegame server 300, a game processor module 310 is provided. The gameprocessor module is configured to execute on the game server 300 andincludes a plurality of modules that are configured to interact with oneanother, with one or more data stores and with the client device. Someof the modules within the game processor 310 include a game managermodule 312, a game code mapper 314, an activity selector 316 including apassive selection detector 316-a and an active selection detector 316-b,a mini-game processor 172, a video segment generator 320 and a metricaccumulator 173. In addition to the above list of modules, an AIcharacter overlay module 317 may also be included within the gameprocessor 310. In some embodiments, the AI character overlay module 317may be part of the mini-game processor 172. The above list of modules isexemplary and should not be considered restrictive. Fewer or additionalmodules may be provided in the game processor module 310 for managingexecution and sharing of mini-games, in various embodiments of theinvention.

The Game cloud system 110 may further include a plurality of genericgaming data storage systems for storing user and game-related data andto provide such data to the various modules executing on the game server300. Some of the exemplary data storage systems include mini-game datastore 166, user data store 165, game data store 306 and social mediadata store 167, as illustrated in FIG. 1A, to store various processingdata. Mini-game data store 166 is used to store and retrieve datarelated to mini-games. User data store 165 is used to store and retrieveuser data, including user authentication data. Game data store 306 isused to store and retrieve video game related data including video clipsgenerated for the respective video games. Social media data store 167 isused to store and retrieve user-interaction data from social network.

The role of the various modules will be described in detail withreference to FIG. 1B. FIG. 1B illustrates a system diagram 100Aidentifying various modules and their interactions with one another andwith the client/social media providers for enabling access and playingof video games stored in a game cloud system (GCS) 110, in accordancewith an embodiment of the invention. Referring simultaneously to FIGS.1A and 1B, system 100A includes a GCS 110, one or more social mediaproviders 140, and a user device 100, all of which are connected viaInternet 120. Although one user device 100 is illustrated in systemdiagram 100A in FIG. 1B, it is to be understood that in practice, manymore user devices may be connected to Internet 120 to access theservices provided by GCS 110 and social media providers 140. Someexemplary user devices are illustrated in FIG. 1A.

In one embodiment, game cloud system 110 includes a plurality of modulesthat receive and process various data related to managing execution andsharing of mini-games/video clips. In one embodiment, the differentmodules of the GCS 110 may include one or more execution engines thatexecute on a game server using data available to the game server. Forexample, a game execution engine 170, a user processor module 174, atitle index engine 175, a user access logic module 180, and game sessionmanager module 185 may be part of the game manager module 312illustrated in FIG. 1A. A recording engine 171 may be part of a videosegment generator module 320. In addition to the above listed executionengines, additional modules/execution engines may also be available,such as a mini-game processor module 172, a network interface 190, ametric accumulator 173 and a social connection manager 195.

Game cloud system 110 may further include a plurality of data storagesystems to store various processing data. A generic list of data storagesystems was illustrated in FIG. 1A. The various gaming data storagesystems of FIG. 1A may include one or more specific data storagesystems. An exemplary list of specific data storage systems illustratedin FIG. 1B include a game state store 160, a game code store 161, arecorded game store 162, a game title store 164, a game network userstore 165, a mini-game data store 166, and a social network data store167. The mini-game data store 166 of FIG. 1B is similar to the mini-gamedata store of FIG. 1A and is therefore referenced using the samereference numeral. The game network user store of FIG. 1B is similar touser data store 165 of FIG. 1A and is therefore referenced using thesame reference numeral 165. The game state store 160, game code store161, recorded game store 162 and game title store 164 of FIG. 1B may bepart of the game data store 306 of FIG. 1A. The social network datastore of FIG. 1B is similar to the social media data store 167 of FIG.1A and is therefore referenced using the same reference numeral 167.

In one embodiment, game cloud system 110 is a system that can providegame applications, services, gaming related digital content, andinterconnectivity among systems, applications, users, and socialnetworks. Game cloud system 110 may communicate with user device 100(i.e., client device 100) and social media providers 140 via networkinterface 190 that will enable wired and wireless communication methods.In one embodiment, each social media provider 140 includes at least onesocial graph 145 that shows social network user interconnections.

In one embodiment, a social media provider 140 can be the game cloudsystem 110 itself, whereby user relationships are managed without theneed for external social media providers 140. In still otherembodiments, the system can operate as a hybrid system, wherein socialrelationships are managed using social graph data from third partysocial media providers (via application programming interface (API)accesses or the like) and user relationships with other users, asdefined by the game cloud system.

In one embodiment, a user, e.g., user U0, can access the servicesprovided by game cloud system 110 and social media providers 140 by wayof user device 100. User device 100 can include any type of devicehaving a processor and memory, wired or wireless, portable or notportable. User device 100, which is shown connected to Internet 120,includes a display 132 that can be a touchscreen, or a display typicallyprovided by a flat-panel display, a cathode ray tube (CRT), or otherdevice capable of rendering a display. Alternately, user device 100 canhave its display 132 separate from the device, similar to a desktopcomputer or a laptop computer. In one embodiment, user device 100 can bein the form of a smartphone, a tablet computer, or hybrids that providetouch screen capability in a portable form factor. One exemplary devicecan include a portable phone device that runs an operating system and isprovided with access to various applications (apps) that may be obtainedover Internet 120, and executed on the local portable device (e.g.,smartphone, tablet, laptop, desktop, etc.).

In one embodiment, user device 100 can install an application thatenables executions and views of the games stored and shared by the gamecloud system 110. Further, user device 100 can be used to communicatewith one or more social media provider(s) 140 via Internet 120 such thatuser device 100 may be used to execute a game play or view videorecordings of the game plays shared by one or more social mediaproviders 140. For example, user U0 may access a game posted in one ofsocial media providers 140 by selecting a link on a page, stream,news-feed, or post of the social media provider, and then playing orviewing the game from user device 100.

In one embodiment, the games posted and shared in social media providers140 are mini-games generated based on video recordings of game plays ofavailable game titles. The mini-games may be stored in recorded gamestore 162 of game cloud system 110. While user U0 is executing orviewing a game or mini-game stored in game cloud system 110, user device100 is capable of receiving game video frames 135 from game cloud system110 and transmitting user interactive input 136 (simply “input”) to gamecloud system 110. The received game video frames 135 can be shown indisplay 132 of user device 100.

In another example, the user U0 may also access a video clip of a gamethat includes a portion of video recording of actual game play of a gameby a user that the user shared with other users. The video clips may bestored alongside information related to the games in recorded game store162 of game cloud system 110 and made available to any user thataccesses the game.

In one embodiment, a user, e.g., user U0, may create a user account andregister the created user account with game cloud system 110. After theuser account is registered with game cloud system 110, game cloud system110 may provide a user ID to this registered user account and save theuser ID in a user profile associated with the registered user account.The user profile associated with a user account will be described inmore detail with reference to FIG. 1D. In one embodiment, the userprofile associated with a user account may be saved in a user databasein game network user store 165.

In one embodiment, user access logic 180 may be used to detect allaccesses made by user U0, either through user device 100 or othersuitable devices, and be used to verify the user log-in information(e.g., the name and password for the user account of user U0). Afteruser U0 logs into his or her user account, user access logic 180 maycommunicate the user login information with user processor 174 that inturn updates the user login information stored in the user profile.Further, user access logic 180 may communicate the user logininformation with social connection manager 195, so that socialconnection manager 195 can pull the names of the user's social networkfriends/contacts from one or more social media providers 140 via networkinterface 190. The names of the user's social network friends/contactsmay be received by social connection manager 195, which in turntransmits the received information to game network user store 165 to besaved in the user profile of user U0.

After logging in, the user can access services provided by game cloudsystem 110 via game session manager 185. For example, game sessionmanager 185 may inform user processor 174 of the user login informationso that user processor 174 may record or update the user logininformation in the user profile associated with this user. In oneembodiment, the user profile is stored in game network user store 165.User processor 174 may also communicate with title index engine 175 toidentify game titles associated with the user account. The game titlesassociated with the user account may be previously purchased by theuser, previously played by the user and/or free game titles identifiedand made available by the game providers. In one embodiment, the gametitles associated with the user account may also include game titlesassociated with a genre defined by the user's interest based on user'sprior selection of games. In this example, available game titles maytherefore be stored in game title store 164.

In one embodiment, after a user chooses an available game title to play,a game session for the chosen game title may be initiated by the userthrough game session manager 185. Game session manager 185 firstaccesses game state store 160 to retrieve the saved game state of thelast session played by the user (for the selected game), if any, so thatthe user can restart the game play from a previous game play stop point.Once the resume or start point is identified, the game session manager185 may inform game execution engine 170 to execute the game code of thechosen game title stored in game code store 161. After a game session isinitiated, game session manager 185 may pass the game video frames 135(i.e., streaming video data), via network interface 190 to a userdevice, e.g., user device 100.

During game play, game session manager 185 may communicate with gameexecution engine 170, and recording engine 171, to generate or save arecording (e.g., video) of the game play or game play session as thegame play processes. In one embodiment, the video recording of the gameplay can include other game related metadata provided and/or capturedduring game play. The video recording of game play may be saved inrecorded game store 162. The metadata may be saved in game state store160.

In one embodiment, a mini-game/video clip may be created usinginformation from the video recording of the game play, e.g., viamini-game processor 172 or recording engine 171. For example, after auser plays a game and the video recording is created, the user cansimply watch a replay of the video recording of his or her prior gameplay. When the user is watching a replay of the video recording, theuser may find one or more parts to be particularly interesting. Forexample, the user may have achieved a high score or completed aninteresting task during the game play. The user, in one embodiment, isprovided with controls to select a portion of the video recording, whichwill then be used by mini-game processor 172/recording engine 171 toconstruct a mini-game/video clip based on the selected portion of thevideo. In one embodiment, the mini-game will include the executable codenecessary to render the functionality or part of the functionality thatwas used to create the content of the selected portion of the videorecording. In one embodiment, the controls include a share requestcontrol that includes an option to provide a location indicator thatidentifies a location within the video recording for generating thevideo clip. The video clip is then generated by extracting a selectedportion of the video recording in relation to the location indicator. Auser selecting the game will then be presented with an option to selectthe video clip that provides a sampling of content within the game.

A user wishing to play the mini-game will be provided with asubstantially similar game play experience as the user that originallyplayed the game that created the video recording. In one embodiment, themini-game will inherit the game parameters used for playing the game.For instance, if the original game play included a scene where the useris riding a bike and is jumping over a hill/obstacle, and the userselects that portion from the video recording of his game play, the newmini-game would include code to enable similar or substantially similargame play. In this instance, the color of the bike, the character usedfor riding the bike, etc., may be inherited from the original game. Thatis, the mini-game would enable the user or other users to play themini-game, wherein game play would include riding a bike and jumpingover the hill/obstacle. In this case, the user playing the mini-game mayor may not achieve the same game score for jumping over thehill/obstacle.

The portion of the video recording associated with the created mini-gamemay be saved in recorded game store 162 and remaining portion of thevideo recording may be erased after a defined time period by recordingengine 171. In some embodiments, if no mini-games are created for avideo recording of a game play, the video recording of the game play maybe erased after a defined time period by recording engine 171. In someother embodiments, if no mini-games are created for the video recordingof a game play, then the video recording of the game play is maintainedtill a mini-game is generated for at least a portion of the videorecording and the remaining portion of the video recording may be erasedafter a defined time period by recording engine 171. Along similarlines, if no video clips are generated for the video recording of a gameplay, the video recording may be erased after a defined time period byrecording engine 171.

In one embodiment, the created mini-game/video clip(s) may be posted toa webpage in a social network, via social connection manager 195, toenable sharing with one or more social network friends of user U0 inresponse to a request for sharing received from a user U0. Alternately,the created mini-game/video clip(s) may be posted to a webpage in a gamenetwork maintained by game cloud system 110, for sharing with the userU0's game network friends based on a share request received from theuser U0. Sharing, however, should not be limited to friends. Sharing canalso be extended to other users that may have similar likes or game playsimilarities. In one embodiment, the request for sharing may betriggered in response to the user U0's selection of a share buttonprovided on the display 132 within the GUI that presents the pluralityof games. The share button option is one way of generating a request forsharing and should be considered exemplary and not limiting. Other formsor options for sharing may be provided and used to generate a requestfor sharing. In one embodiment, the request for sharing a mini-game maybe accompanied by a challenge comment provided by a user U0. Thechallenge comment, in this embodiment, is configured to be presentedalongside the mini-game during sharing. In one embodiment, in responseto the sharing request from user U0 for sharing of the video clip, thevideo clip may be presented in a user interface along with other videoclips for the game. The user interface, in this embodiment, includescontrols for selecting and viewing selected ones of the video clips forthe game.

In one embodiment, the game code that defines a mini-game can be thesame code of the full game from which the mini-game was created. Duringthe creation of the mini-game by mini-game processor 172, game playmetadata, which can include game state and other game attributes, suchas game level, game challenge, etc., is used to identify what parts ofthe game code of the full game are needed to make an executablemini-game. A video segment generator within the mini-game processor 172is used to identify the parts of the code that define the mini-game. Thevideo segment generator interacts with game code mapper 314 to identifythe code segment for the mini-game and forwards this information to themini-game processor 172 for further processing to generate themini-game. When the parts of the code of the full game are allidentified, the code that defines the mini-game, in one embodiment, canbe defined by pointers or references to the game code of the full game.By using points and/or references, the need to create new code packagesfor each produced mini-game is reduced.

As users create mini-games/video clips for the games from their gametitles, the code or pointers for the created mini-games can beassociated with the creating user in the user store 165. This way, eachcreated mini-game/video clip can be defined by its original creator, andmetrics regarding play of the mini-games and metrics regarding view ofthe video clips can be attributed or linked to the creating user. Forinstance, if a particular user creates mini-game/video clip that isplayed and/or shared often with other users, the popularity of themini-game/video clip can be tracked and ranked against othermini-games/video clips and users. Similarly, the ranking and status ofthe particular user creating the mini-game/video clip may be updated toreflect the extent of sharing and popularity of the user's posting ofthe created mini-game and/or sharing of the video clip. A metricaccumulator module 173 may be used to compute the various games and/orusers' metrics based on the sharing and game play of themini-games/video clips generated by the user U0. Details of some of themetrics that are computed will be explained in greater detail withreference to FIG. 6.

The user metrics are used to extend awards or other game-related perksto the user contributing to the generation of the mini-games and toorganize the video clips for the game. For example, a user that createsmini-games/video clips that are shared often or tagged with higherfrequency can be provided with rewards. The rewards can be provided, forexample, by the developer of the game title from which themini-games/video clips are created. Alternately, the status of the usermay be elevated based on the number of mini-games/video clips createdand the level of sharing. The elevated status may be used in theoffering of perks, game rewards, including free plays, free games, freegame objects, monetary incentives, etc., to name a few. As moremini-games are made from particular game titles and/or more video clipsare generated, the game title may grow in popularity and will encourageusers to purchase a full version. In one embodiment, full versions of agame title are unlocked to enable mini-game creation. In one embodiment,play of a mini-game will allow creation of video recordings of themini-game play, but may not enable creation of mini-games without havingaccess to the full game title.

Still continuing with FIGS. 1A and 1B, in one embodiment, during a gameplay, user interactive input 136 entered by user U0 may be transmittedto game session manager 185 within game manager module 312 of game cloudsystem 110.

In other embodiments, user interactive input 136, besides input used todrive game play, may include challenge response (in the form of, fore.g., texts, images, video recording clips, etc.), in response to thechallenge comment provided for the mini-game. The mini-game may be amini-game that is created by user U0 based on a video recording of thegame play, or a shared mini-game posted by other users, e.g., socialnetwork friends of user U0.

In one example, if user interactive input 136 is challenge response, thechallenge response may be received by game session manager 185, which inturn informs the mini-game processor 172, and user processor 174 thatthe challenge response is received. The mini-game processor may be usedto store the association of the challenge response to the post of themini-game in a mini-game data profile stored for the mini-game in themini-game data store 166. User processor 174 may be used to save aresponse pointer that points the challenge response association storedin the mini-game data store to the user profile associated with user U0.

In one embodiment, user interactive input 136 may be in the form ofcomments, posts, etc., provided by users other within the social mediaof the social network, in response to the video clips shared by a user.The recording engine 171 may be used to store the association of theuser interactive input obtained from the social network, to the videoclip in the recorded game store 162 a. User processor 174 may be used tosave the association of the user interactive input to the video clip inthe user profile associated with user that created the video clip.

In one embodiment, mini-game processor 172, during mini-game creation,may be used to analyze the content of a mini-game, and identify a videoframe that is most representative of the content of the mini-game. Thus,when the mini-game is created, the mini-game may be associated with theidentified video frame as an icon or still image. The more interestingthe frame is, the more likely it is that the mini-game may be played byothers. The generated mini-games/video clips are posted to one or moresocial network of user U0 and/or game network for sharing with otherusers. The posting of the mini-games/video clips is in response to arequest for sharing received through a post/share option, as describedabove.

In another embodiment, mini-game processor 172 may be used to manage themini-games/video clips stored in recorded game store 162 for each game.The mini-game management may include, but not limited to, mini-gameclassification, mini-game/video clip ranking based on other users'interactions to the mini-games/video clips, mini-game/video cliprepresentative picture identification, mini-game/video clip view orexecution initiation, etc. For instance, if certain mini-games/videoclips have a higher number of user interactions, this may indicate thatthe content of the mini-game/video clip is interesting and/or is beingposted and shared the most. In one embodiment, such user interactionsare gathered by the metric accumulator 173, the information withinanalyzed to determine the type of user interaction and to compute one ormore user and/or game metrics. The user and/or game metrics are used toselect and organize the mini-games/video clips when the user accessesthe games from the game cloud system. As such, depending on thepopularity of the mini-games and popularity/status of the users creatingthe mini-games/video clips, some mini-games/video clips can be displayedmore prominently on a website, relative to other mini-games/video clips,and such display define the degree of posting and sharing that suchmini-games/video clips experience.

Once the mini-games/video clips are posted for sharing, other users'interactions at the mini-games/video clips are tracked. The userinteractions of the mini-games/video clips may include the user contentand the social network content of the mini-games/video clip. In oneexample, in response to the request to share received by the mini-gameprocessor 172 and/or recording engine 171, the mini-game processor 172and/or recording engine 171 may instruct social connection manager 195,via game session manager 185, to post some or all of themini-games/video clips for a game stored in the recorded game store 162at one or more social media providers 140 so that those mini-games/videoclips can be viewed and/or played by the social network users. Socialconnection manager 195 may periodically pull social network contentassociated with those shared mini-games from social media providers 140,and save the social network content in social network data store 167.

The social network content of a shared mini-game may include, withoutlimitation, the number of times the mini-game is viewed, played, shared,and recommended by the social network users. The social network contentfor the mini-game may also include the challenge comments and the numberof comment responses made by social network users. In one embodiment,mini-game processor 172 may save a social network content pointer thatpoints to the social network content for a mini-game to the mini-gamedata profile associated with the mini-game. The social network contentof a shared video clip may include, without limitations, the number oftimes the video clips is viewed, shared, and recommended by the socialnetwork users. The social network content for the video clip may alsoinclude the type and number of comments made by social network users.The recording engine 171 may save social network content and itsassociations for the video clip in the game data profile associated withthe game.

FIG. 1C illustrates a game cloud network 100B, in accordance with oneembodiment of the present invention. For example purposes only, the gamecloud network 100B may include six game cloud systems (GCS 1 to GCS 6),which are geographically distributed and interconnected. Also forpurposes of example, eleven users (U1 to U11) are shown in FIG. 1B withdifferent geographical distances to each of the six GCSs. To reducelatency, the GCSs are distributed and users that are more proximate tocertain GCSs will be paired to the more local GCS.

As shown in FIG. 1C, users U1 and U2 are geographically located closerto GCS3, user U3 is located about in the middle of the distance betweenGCS2 and GCS5, user U4 is located in between GCS 5 and GCS 6 but iscloser to GCS 6, users U6 and U7 are located near GCS4, users U8 and U9are located near GCS1, and users U5, U10, and U11 are located near GCSE.Although six game cloud systems and eleven users are shown, it is to beunderstood that in practice, more or less game cloud systems may beincluded in game cloud network 100B, and more or less users may accessthe services provided by game cloud network 100B.

In one embodiment, each GCS in game cloud network 100B is located in adata center that houses computer systems and associated components tosupport multiple operating systems. As an example, the structure of eachGCS may be similar to GCS 110 as shown in FIG. 1B. Although, it shouldbe understood that a GCS may include fewer or more processing componentsor logic elements, depending on the processing desired. In oneembodiment, each GCS in game cloud network 100B may communicate withother GCSs so that the information for various user profiles stored inrespective game network user stores of a GCS can get updated andsynchronized. Through the communication among the GCSs, game cloudnetwork 100B can dynamically distribute the work load to provide loadbalancing and assign users based on the work load of each GCS anddistance factors.

In one embodiment, when a user is trying to log into his or her useraccount online via a user device, depending upon the geographicallocation of the user, the user may be routed to a GCS that is closest tohis or her user device. For example, because user U1 along with his orher user device is located near GCS3, user U1 utilizes the game servicesprovided GCS3 after his or her user device is connected to GCS3.Similarly, user U2 may utilize the game services provided by GCS3, userU7 and user U6 may utilize the game services provided by GCS4, user U8and user U9 may utilize the game services provided by GCS1, and user U5,user U10, and user U11 may utilize the game services provided by GCSE,based on geographical distance to respective CGSs.

In another embodiment, when a user is located approximately in themiddle of two GCSs, the user may access the game services provided byboth GCSs. For example, user U3 is located approximately in the middleof GCS2 and GCS5. When user U3 is trying to log into his account, theuser device of user U3 may be connected to either GCS2 or GCS5, or bothGCSs, depending upon the work load and latency of the GCSs. In stillanother embodiment, a user may be connected to a GCS that is not theclosest one to this user because the GCS that is closest to this user isexperiencing heavy work load. For example, user U4 may be initiallyconnected to GCS6 because user U4 is located closest to GCS6. Due toheavy work load of GCS6, user U4 may be disconnected from GCS6 and beconnected to GCS5. During the period of switching from GCS6 to GCS5,user U4 may be temporarily connected to both GCS6 and GCS5 for a while,and then get disconnected from GCS6 after GCS5 has replicated the gamestate of user U4 in GCS6. Thus, the switching from one GCS to anotherGCS is transparent to the user without affecting the user's experiencewith the game. In another example, user U4 may be directly routed toGCS5 because GCS5 has larger capacity than GCS6.

FIG. 1D illustrates an exemplary user profile 100C stored in a gamecloud system 110, in accordance with one embodiment of the presentinvention. In one embodiment, user profile 100C may be saved in a userdatabase stored in game network user store 165 of game cloud system 110.In this example, user profile 100C includes a “User Name” field, a “UserID” filed, a “User Password” field, a “User Login” field, a “User Level”field, a “User Status” field, a “User Awards” field, a “Friends” field,and a “Game Titles” field.

In one embodiment the friends field may be populated automatically byaccessing external social networks. In this embodiment, the game cloudsystem may include code instructions that enable calls to externalapplication programming interfaces (APIs) of social networks. The APIscan be used to query the social networks for data concerning the socialgrid defined within a social graph, and relationships stored in thesocial grid of the social network. The data obtained from the socialgrid may be used to share the mini-games/video clips with friends of theuser, such as by automatically posting mini-games/video clips tonewsfeeds of friends or the like. The shared mini-games include thechallenge comment provided by the user that created the mini-game. Thesefunctions will enable wider sharing, tagging, rating, and commenting onmini-games as they are shared and used in greater extents. Thefriends/other users, in turn, may respond to the challenge comment byplaying the mini-games and/or respond to the posting of the video clipsby viewing the video clips. The user interactions defining one or moregame plays of the friends and/or other users are received as inputs 136by the mini-game processor 172 through the game session manager 185. Thevideo segment generator within the mini-game processor 172 use the userinputs 136 to generate mini-game play videos. The friends/other usersmay also respond to the challenge comment within the mini-game byproviding challenge response. The challenge responses are also receivedas user inputs 136. The mini-game play videos and any challengeresponses are posted to the mini-game data store 166. The other usersmay, in turn, share the mini-games and the videos/mini-game play videosassociated with the mini-games with their own friends/social contactsthrough one or more social network and/or game network. Userinteractions at the video clips are used to update user metrics on thegame network user store 165 and the game metrics of the game associatedwith the video clips at the recorded game store 162.

In one embodiment, the “User Name” field, the “User ID” field, and the“User Password” field are used to record the name of the user, the IDassigned to the user when he or she created the user account in gamecloud system 110, and the password set up by the user. The “User Login”field is used to indicate whether this user is currently logged into hisor her user account. As discussed above, the user login information maybe updated by user processor 174. The “User Level” field is used toindicate the game play levels of the user. The “User Awards” field showsthe awards received by the user during previous game plays. The “UserStatus” field of the user is computed from one or more metrics collectedduring posting of the mini-game, sharing of the mini-game, and gameplaying of the mini-game by other users.

In one embodiment, the “Game Titles” field shows all available gametitles for the user. The available game titles may be those that theuser is able to freely plays because either the user purchased the gameor the game is free to play. In still other embodiments, the “GameTitles” field can show or identify the games that the user is able tosee, such as, based on the rating of the games. If the rating of theplay has a “minor” rating, selected games would be made accessible forthat player that fits the rating.

As discussed above, a user may create one or more mini-games/video clipsbased on a video recording of a game title played by the user. If one ormore mini-games/video clips are created for the game title, the createdmini-games/video clips will be shown under this game title. In thisexample, there are three available game titles for the user (Game Title1, Game Title 2, and Game Title 3). Within each game title, one or moremini-games may be created. For instance, two mini-games (Mini-Game 1 andMini-Game 2) with one challenge comment each (Challenge Comment 1,Challenge Comment 2) are created from Game Title 2, and four mini-games(Mini-Game 1, Mini-Game 2, Mini-Game 3 and Mini-Game 4) are created forGame Title 3 with Mini-Games 1 and 2 each associated with acorresponding challenge comment (Challenge Comment 1, Challenge Comment2). In one embodiment, the mini-games that are not associated with anychallenge comments may be mini-games that have been generated but notbeen posted to any network for sharing. In one embodiment, the user canstart to play a game by selecting (actively selecting through clicking,touching, etc.) on the available game title shown in user profile 100C.One or more video clips may be created for each game title and the listof available video clips (not shown) may be listed under the respectivegame title.

In still other embodiments, mini-games/video clips can be shown on aseparate webpage, where a user can select to play mini-games/video clipscreated by the user or created by other users. In these embodiments, themini-games/video clips shown on the webpage are the ones that are postedby one or more users for sharing. The mini-games/video clips shown canbe organized based on game-types, genres, age appropriate content,popularity amongst users of a network, etc. Mini-games/video clipshaving larger numbers of user interactions (e.g., plays or tags) orprovided by a highly ranked user maybe ranked higher and/or placed in amore prominent location on the webpage. From this webpage ofmini-games/video clips, other users can access to view the video clips,play such mini-games or share the mini-games with others within the gamenetwork or externally via social networks.

In one embodiment, a mini-game may be created by a user that owns or hasaccess to a full version of the game that is used to create themini-game. When a user plays the full version of the game, a videorecording is created of the game play. From this video recording, theuser can select a portion of the video recording (e.g., a starting pointand an ending point). This portion of the video is saved and associatedto the user. In one embodiment, the portion of the video may be selectedbased on a location indicator. In this embodiment, the selected videoportion is in relation to the location indicator. In addition, theportion of video is used to identify metadata and state data that wascreated when the full version of the game was played to create the videorecording. This information is, in turn, used to identify the code partsof the full game code that will be required to create an executablemini-game that will encompass at least the functionality seen in theportion of the video that was selected from the video recording.

In one embodiment, once the mini-game is created, the mini-game may havetwo parts. For example, a first part is the portion of the videoselected by the user (similar to video clip), from the full videorecording. This portion can be posted and shared, so that other userscan see a video of the creating user's game play and the results (whichmay have been interesting). Once a person views the video portion, theperson can elect to play a mini-game for that portion of video.

Also for example, a second part is the executable mini-game. As in theexample above, if the portion of the video shows the user jumping anobstacle on a bike, the mini-game will provide code to allow anotherplayer to attempt the jump of the obstacle on the bike. The executablecode of the mini-game allows the users to play the mini-game and willcompute game scores for the mini-game based on the user interactionsreceived from the other users during game play. The game score relatedto the mini-game achieved by the original player using the full game canthen be compared to the score achieved by the other player during thegame play of the mini-game. The game score of the other player may begreater than, less than or equal to the score achieved by the creatinguser. Depending on the score and depending on the interest of the otherusers for sharing this information, the game score may be updated to thegame cloud system as a response to the challenge comment and may also beshared with other users.

To provide the option to further share, a third part may be the creationof a mini-game video portion that is a recording of game play of themini-game by other users. Thus, as more players play the mini-game,there will be many mini-game video recordings of those game plays, whichwill also be saved and associated with the original mini-game and to theplayers that played the mini-game.

In this example, however, the creator of the mini-game is going to bethe owner of the full version of the game. If the person playing themini-game wishes to make a mini-game himself or herself, that person canpurchase the full copy (or full locked access) and produce his or herown mini-games that can be shared in the same way.

In one embodiment, the “Friends” field in user profile 100C shows theuser's friends in both game network and social network. In this example,the user's game network friends are shown under the “Game Network”sub-field and the user's social network friends are shown under the“Social Network” sub-field. The user's friends who belong to both thegame network and the social network may be listed under the “Common”sub-field.

For a user profile stored in game network user store 165, the “UserName” field, the “User Login” field, the “User Level” field, the “UserStatus” field, and the “User Awards” field may be viewable to otherusers in the game network, while the other fields in the user profilemay not be viewable to other users. In one embodiment, a user may selectwhether to make the “Friends” field in his or her user profile to beviewable by other users.

FIG. 1E illustrates the data process flow for identifying a portion ofthe video recording of a game play of a game by a user that is used togenerate the video clips, in one embodiment of the invention. A user mayaccess a game for game play, wherein the game is owned (i.e., purchased)by the user. A video recording of the game play is generated for theuser's game play. During the game play or after the game play, the usermay select to share a portion of the video recording with other users.When the user selects to share by interacting with the share requestoption, the user is provided with an interface to provide a locationindicator 1010 to determine the location within the recorded video thatthe user wishes to share with other users.

Based on the information provided within the share request, portion ofthe video recording of the game play of the user in relation to thelocation indicator is extracted. For example, based on the informationin the share request, a portion of the video recording of game playcovering a length of game play ending at the location indicator,beginning at the location indicator or a portion that includes recordedvideo before and after the location indicator, may be extracted togenerate the video clip. The length of game play to be extracted may bepre-defined or user controlled. In one embodiment, the user may retrievea recorded video of a previously played game to generate the video clip.In another embodiment, the user may use the video recording of a currentgame play for generating the video clip. The generated video clip isstored on server of the game cloud system. The generated video clip ispresented to a user in a user interface on a webpage, in response to arequest to access the game from the game cloud system. In oneembodiment, the video clips generated by a plurality of users for a gamemay be stored on a retailer's/game owner's website and presented to auser requesting access to a game, in a user interface on a webpage ofthe website of the retailer or through a link from within a social mediapage. In an alternate embodiment, the video clips by the user may beshared with other users by directly posting the video clips in thewebpage. In this embodiment, the webpage may be a social media page andthe user interface with the video clip may be presented in a socialmedia stream or newsfeed.

In one embodiment, the user interface may include select ones of thevideo clips generated and shared by one or more users of the game and aselection option to select any one of the video clips for viewing. Theselect ones of the video clips are provided as links in the userinterface along with a picture that is representative of contentcontained within and one or more metrics associated with the video clipsand/or the game. For example, the video clip metric may include arelative popularity score of the video clip. In another embodiment, thepopularity score of the video clip and of the game may be presented inthe user interface. User interactions for the selected video clip ismonitored at the user interface of the webpage and used to update one ormore of the user metrics and video clip metrics, game metrics for thegame associated with the video clip. The user metrics and game metricsare used to determine relative ranking of the user, video clips and thegame.

FIG. 2 illustrates mini-games created based on a video recording 200, inaccordance with one embodiment of the present invention. In thisexample, after a user (or a game player) has played an available gametitle, either the complete game or part of the game, the game played maybe saved as video recording 200, e.g., in recorded game store 162. Inthis example, video recording 200 includes recorded video frames 210 forthe game played, and recorded metadata 230.

In one embodiment, the game player may create a mini-game (MG) based onvideo recording 200 by defining a portion of the recorded video. Theportion is defined by indicating a start position and an end position ofthe mini-game within the video recording, during or after a view ofvideo recording 200. For example, using recorded video frames 210, thegame player may choose video frame 688 as the beginning of MG1 and videoframe 974 as the ending of MG1 by clicking and un-clicking (i.e.,releasing) a mini-game creation check box displayed on a screen,respectively. Other controls may also be provided to indicate the desireto create a mini-game, such as touch screen inputs, voice inputs,gesture inputs, etc. The mini-game processor module 172 within the gameprocessor executing on a game server within the game cloud system willdetect the selection of the video frames 210 and interact with the gamecode store 161 of the game processor module to identify the game codethat corresponds to the selected video frames. The identified game codeis associated with the created mini-game along with the selected videoframes defining the video of the created mini-game MG1. The created MG1is playable to view the video recording of MG1 that is a portion ofvideo recording 200, and is executable to play game code of MG1 that isa portion identified from the full game code of the original game titleplayed by the game player using the selected video frames. The videorecording of MG1, in one embodiment, has associated therewith metadata237. When the video recording of MG1 is viewed, the associated videoframes for MG1 are shown. The metadata 237 will identify the attributesof the mini-game including the game level, game status, game objectsused, etc.

In another embodiment, multiple mini-games can be created based on videorecording 200. As shown in FIG. 2, MG1 is not overlapped with MG2 andMG3, and MG2 and MG3 are partially overlapped with each other. In oneembodiment, the created mini-games, e.g., MG1, MG2, and MG3, may besaved in recorded game store 162 by mini-game processor 172 of gamecloud system 110.

FIG. 3A illustrates a mini-game data profile 300A generated duringcreation of the mini-game, in accordance with one embodiment of thepresent invention. In one embodiment, mini-game data profile 300A issaved in a database stored in mini-game data store 166 of game cloudsystem 110. Similar data profile may be generated during creation of thevideo clip and stored in recorded game store 162 of game cloud system110.

In this example, mini-game data profile 300A may include, withoutlimitation, the “Mini-game Name” field, the “Original Game Title” field,the “Mini-game Code” field, the “Mini-game Beginning Data” field, the“Mini-game Ending Data” field, the “Video Content” field including “GameVideo Data” and “Mini-Game Video Data” sub-fields, the “Social NetworkContent” field, the “Mini-game Creator” field, the “Mini-game CreationTime” field, the “Mini-game classification” field, and the “Mini-gameRanking” field. The “Mini-game Name” field is used to record the name ofthe mini-game, and the “Original Game Title” field is used to list thename of the original game based on which the mini-game is created. Thename of the user who created the mini-game along with the mini-gamecreation time may be recorded under the “Mini-game Creator” field andthe “Mini-game creation Time” field, respectively.

The “Mini-game Code” field is used to record a game code beginningpointer that points to the beginning of the game code of the originalgame and a game code ending pointer that points to the ending of thegame code of the original game. It should be understood that thebeginning and end of the game code is simply used to connote the startand end of the mini-game, which is constructed or assembled using thegame code of the full game. In many instances, the mini-game willinherit game code settings (i.e., pre-defined setup parameters) that mayhave been set when the game was first played in the context of the fullgame. For example, if the character is customized to have a particularlook that customization may be selected for the mini-game segment. Inother embodiments, default customizations or settings are automaticallymade in the definition of the mini-game code. In one embodiment, the“Mini-game Beginning Data” field is used to record a video beginningpointer that points the beginning of the video recording of the gameplay for the mini-game created out of the original game title. In oneembodiment, the “Mini-game Ending Data” field is used to record a videoending pointer that points to the ending of the video recording of thegame play for the mini-game.

In one embodiment, the “Game Video Data” sub-field under the “VideoContent” field may be used to record information related to the gameplay of the game and the “Mini-Game Video Data” under the “VideoContent” field may be used to record information related to the videorecording of the mini-game during the mini-game creation. Theinformation may include setup parameters, game object attributes, numberof mini-games created, popularity of the mini-game, difficulty level,etc.

In one embodiment, the “Social Network Content” field may be used torecord the number of times the mini-game is tagged, shared, played,viewed, commented on, and recommended. The rate at which any of thesesocial actions take place can also be tracked, which can be used as ametric to infer a higher or lower rating.

In one embodiment, the number of times the mini-game is shared may berecorded under the “Shared” sub field. In one embodiment, the number oftimes the mini-game is played or executed may be recorded under the“Played” sub field. In this embodiment, the “Played” recording maycorrelate to the number of users of the social and/or the game networkthat responded to the challenge comment that accompanies the mini-gamewhen the mini-game was created. The number of times the mini-game isviewed may be recorded under the “Viewed” sub field. The number of timesthe mini-game is recommended may be recorded under the “Recommended” subfield. The “Social Network Content” field may also be used to record thenumber of comments entered by network users, e.g., under the “Comments”sub field.

The “Mini-game Play Videos” sub field under the “Social Network Content”field may be used to record the number of mini-game play videos createdbased on the executions of the mini-game, the names of the users whocreated those mini-game play videos along with their playing scores. Inaddition to the above metrics, the “Social Network Content” field mayalso include rating of the mini-game provided by the other users, in oneembodiment. In this embodiment, the rating may be provided by the otherusers in response to the Challenge comment and may reflect the relativelevel of difficulty of the mini-game as envisioned by the other users.In one embodiment, the rating may also be computed based on number ofrecommendations provided by other users. In one embodiment, one or moreof the metrics specified within the “Social Network Content” field maybe used to compute “User Status” of a particular user. The “User Status”of a particular user may be computed based on the number of other usersthat respond to the challenge comment of the mini-game posted by theparticular user, the number of recommendations that the mini-gamegarners, the rating of the mini-game provided by other users, etc. Inone embodiment, the social network content of a mini-game may bereceived via social connection manager 195 of game cloud system 110.These examples are provided for clarity, but it should be understoodthat fewer or more metrics can be captured or displayed to generate theranking data.

In one embodiment, mini-game processor 172 of game cloud system 110 mayclassify the mini-game based on the pre-defined categories. For example,the mini-game may be classified as an action mini-game. Theclassification of the mini-game may be recorded under the “Mini-gameClassification” field. Further, mini-game processor 172 of game cloudsystem 110 may be used to rank all of the mini-games in each classifiedcategory based on the video content and the social network contentassociated with each mini-game. The ranking of a mini-game may be savedin the “Mini-game Ranking” field. Additional classification may beprovided within each category, as will be described with reference toFIGS. 4A-4C.

FIG. 3B illustrates a block diagram 300B showing example components ofthe user interactions for a shared mini-game, in accordance with oneembodiment of the present invention. As shown, the user interactions ofa shared mini-game may include the game video content and the socialnetwork content of the mini-game. The game video content may furtherinclude game video data and mini-game video data. The game video data isentered for the video frames associated with the video game during theexecution of the game play for the original game title, based on whichthe mini-game/video clip is created. The mini-game video data is enteredfor the mini-game video frames associated with the mini-game. The gameand mini-game video data can also include, for example, user ratings,mini-game/game levels, etc. The user ratings can include thumbs up, starratings, likes, dislikes, approvals, disapprovals, etc.

The social network content of the mini-game is generated by the socialnetwork users after the mini-game is posted for sharing in a socialnetwork or a network site, such as the game network. For example, thesocial network content may include, without limitation, the number oftimes the mini-game/video clip is shared, the number of times themini-game is played, the number of times the mini-game/video clip isviewed, and the number of times the mini-game/video clip is recommendedby various users in the social network. The social network content mayalso include the number of comments (i.e., challenge response) made bythe social network users in response to the posted video clip and orchallenge comment provided within the mini-game, and the number ofmini-game play videos created based on the execution (or play) of themini-game. Further, the number of times the created mini-game playvideos (i.e., video clips) are viewed may also be included in the socialnetwork content. In one embodiment, social network users can rate theshared mini-game/video clip, e.g., by giving one to five stars. Inanother embodiment, the social network users can rate the sharedmini-game/video clip using a numerical scale. The social network contentmay also include the user ranking (not shown) for the mini-game.

FIG. 4A illustrates a social network webpage 400 showing the classifiedand the ranked mini-games, in accordance with one embodiment of thepresent invention. In this example, all of the mini-games, which areposted in the social network for sharing, are classified based on thefollowing pre-defined categories: Action, Sports, Kids, Casino, andShooting. Other categories are possible, and this is only one example.The mini-games in each classified category are displayed in the form ofcategory tabs. It is to be understood that mini-games can be classifiedbased on other unlisted categories. In this embodiment, webpage 400shows the mini-games in the Action category and the mini-games in othercategories are hidden. The mini-games in other categories can be shownif the corresponding category tab is clicked. As used herein, theexample of clicking shall be understood to be user input. The user inputcan be made via any number of ways, such as by computer mouse, gamecontrollers, touch input, gesture input, voice input, etc. For example,if the Sports category tab is clicked by a user using mouse cursor 410,the mini-games in the Sports category will be shown and the mini-gamesin the Action, Kids, Casino, and Shooting categories will be hidden.

In an alternate embodiment, the social network webpage 400 may be usedto access the games in the game network through a user account. In thisembodiment, a user can select one of the games to generate one or moremini-games/video clips and post the created mini-games/video clips tothe social network and/or game network for sharing. The postedmini-games may include a challenge comment issued by the user creatingthe mini-game.

The mini-games in the Action category may be displayed in the forms ofmini-game symbols (e.g., mini-game icons or thumbnails) with eachmini-game symbol having a representative picture/image. In oneembodiment, the representative picture/image is a mini-game video framethat is representative of the content of the mini-game.

In the example of mini-games illustrated in FIG. 4A, six mini-gamessymbols (421, 422, 423, 424, 425, and 426) are shown at one time in theAction category tab 430. Alternatively, more or less mini-game symbolscan be displayed at one time in a category tab. In one embodiment, ifthere are more mini-games than the ones already displayed in the Actioncategory, the other non-displayed mini-games can be shown by clickingeither the upper or down arrows in scroll bar 450. In one embodiment,when a game is selected, the corresponding video clips may be renderedin a manner similar to how the mini-games are described to be renderedwith reference to FIG. 4A.

In one embodiment, the mini-games may be stored in recorded game store162 of game cloud system 110, and displayed by mini-game processor 172based on the classification and ranking of each mini-game. In oneembodiment, the mini-games in a classified category may be ranked basedon the user interactions of mini-games in a classified category.

In one embodiment, the representative picture displayed on top of amini-game symbol (e.g., a picture image) is a mini-game video frame thatis representative of the content. The representative picture may changeas the content of the mini-game changes over time based on userinteraction. For example, a user's interaction to overcome an obstaclewithin the mini-game may change over time based on repeated game play ofthe particular mini-game. Such changes are captured and the frame thatbest represents the content may be used as the representative picture.Mini-game processor 172 of game cloud system 110 may be used to identifythe representative picture for each mini-game displayed usinginformation stored in the recorded game store 162 and mini-game datastore 166.

FIG. 4B illustrates an instant replay of a displayed mini-game, inaccordance with one embodiment of the present invention. In oneembodiment, mouse cursor 410 may be hovered over a displayed mini-gamesymbol to render an instant replay (or partial replay) of the videoframes of the mini-game represented by the mini-game symbol, without themini-game symbol being clicked. The instant replay can help a user toquickly search for a mini-game he or she likes.

In this example, when a user hovers mouse cursor 410 over mini-gamesymbol 423 (e.g., passively select), the video frames (460_1 to 460_N)of the mini-game represented by mini-game symbol 423 will start to playwithout having to select the mini-game symbol 423. When a user finds amini-game he or she likes, the user can double click (e.g., activelyselect) the mini-game symbol to launch or start instant play from thecloud gaming system in streaming mode. Alternatively, the user maydouble click a mini-game symbol to open another webpage that shows themini-game represented by the mini-game symbol along with other relatedinformation. Rendering of the video clip can be done either throughactive selection (for e.g., double click or other user action) orpassive selection (for e.g., hovering).

In an alternate embodiment illustrated in FIG. 4C, a game networkwebpage 440 provides an organized list of the classified and rankedmini-games in response to user accessing a user account on the gamenetwork, in accordance with one embodiment of the present invention. Inthis embodiment, the mini-games presented in the game network webpage440 may be organized under categories that are different from the onerendered or may be part of the categories illustrated in FIGS. 4A and4B. For example, some of the categories may include, “mini-gamespreviously created/viewed by the user,” “Top Rated mini-games,”“mini-games with challenge posted by social contacts of the user,”“Today's hot picks,” “Newly added Mini-games,” to name a few. Thesecategories, in some embodiments, may be sub-categories within thecategories illustrated in FIGS. 4A and 4B. Some of the mini-gamesrendered in the webpage may not be posted to game network or socialnetwork for sharing.

For instance, as illustrated in FIG. 4C, some of the mini-games, such asMG2, created by the user who is accessing the user account of the gamewebsite may not be posted to game network or social network for sharing.It should be noted herein that some of the mini-games that are createdby the user accessing the user account are the ones that may or may notbe posted to a network for sharing. On the other hand, the mini-gamesthat are posted by other users to the network have to be posted (i.e.,available) for sharing in order for such mini-games to be included onthe webpage of any website or social network stream/newsfeed for accessand play. An indicator, such as “posting-indicator” may be provided withthe mini-games to indicate the sharing status of the mini-games. Forinstance, mini-games MG1, MG2, MG3 and MG4 are created by the user Bob.Further, mini-game MG1 is posted for sharing as evidenced by thechallengee counter within a “posting-indicator” box indicating “1”. Inthis instance, when the mini-game MG1 is posted, the challengee counterwithin the posting-indicator is incremented by 1. Similarly, mini-gameMG3 has been posted and at least 22 other users have accepted thechallenge and played the mini-game as evidenced by value 23 in theposting-indicator box−1 for the initial post for sharing and 22 otherusers that have accepted the challenge and played the mini-game. Alongsimilar lines, mini-game MG4 has been posted and at least 61 other usershave accepted the challenge and played the game. Thus, based on thevalue in the posting-indicator box, one can deduce whether the mini-gamehas been posted for sharing and the number of users that have acceptedthe challenge and played the mini-game shared by a user.

In one embodiment, a mini-game may be created and not posted forsharing. For example, Mini-game MG2 has been created but not shared withanyone in the game network and/or social network. This is evidenced bythe presence of the mini-game icon but a lack of a posting-indicatorbox.

In the embodiment illustrated in FIG. 4C, the mini-game that is createdand not posted is a mini-game MG2 that was created by user Bob. In thisexample, the game processor will provide an option, such as a “Post”option 414 at mini-game MG2, for posting the mini-game to one or morenetworks. The “Post” option will also allow the user to generate achallenge comment that is posted alongside the mini-game when posted.When the user Bob selects the mini-game for sharing, the game processorwill detect the active selection activity at the mini-game MG2 and postthe mini-game for sharing to one or more networks as specified by userBob in his request along with the challenge comment. When the mini-gameis posted, the challengee counter within the posting-indicator box willbe incremented by 1, as shown in mini-game MG1. As users respond to thechallenge, the posting-indicator box at each user's mini-video game playbox is dynamically updated to reflect the number of users that haveaccepted the challenge and the same is also updated to the originalpost, as evidence by the different values within the posting-indicatorboxes 416 of the different users and the final count is reflected in theoriginal post MG4 that indicates a value 62 in the posting indicatorbox.

If user Bob selects a mini-game (created by him or by any other user)through active selection activity and the selected mini-game has alreadybeen posted, the active selection activity will prompt the gameprocessor to show the original post of the mini-game with game plays ofall the users that have responded to the challenge. As illustrated inFIG. 4C, based on the active selection activity (indicated by thecursor) at mini-game MG4 by user Bob, the list of users that haveresponded to the challenge and the corresponding challengee counterwithin the posting-indicator 416 is rendered at the user interface ofgame play within the webpage of the game website of user Bob. As moreusers respond to the challenge, a navigation bar (or scroll function)may be provided to view the game plays of all the responders along withany challenge responses provided by the responders during mini-gameplays.

In one embodiment, the challengee counter can be incremented upon theposting of the mini-game for sharing with other users. As more and moreusers respond to the challenge, the posting-indicator box providedwithin the mini-game play interface gets dynamically updated to reflectthe current number of users that played the mini-game, as evidenced bythe changing values of the challengee counter within theposting-indicator boxes 416 provided within the mini-game play interfaceof different users in FIG. 4C.

The current number of users that have accepted the challenge and playedthe mini-game is also reflected in the original challenge post MG4 thatindicates a value 62 in the posting-indicator box. The challengeecounter provides a good indication of whether the mini-game was postedor not and whether other users have accepted the challenge and playedthe mini-game. The challengee counter is rendered alongside themini-game (or some other visible location) and updated to the mini-gamedata store and user data store of all the users that generated themini-game and played the mini-game.

When a user accessing the webpage 440 hovers (i.e., passively selects)over a mini-game from the list of mini-games, the video segment of themini-game is rendered in a portion of the webpage 442. Alternately, thevideo segment may be rendered in a new window, in a pop-up window, etc.When a user clicks/double clicks (i.e., actively selects) a mini-gamefrom the list of mini-games from the display 132 of the user device 100,the executable portion of the mini-game is rendered at the game server.In response to the execution of the mini-game at the game server, theuser interface at the display of the user device 100 is updated withinformation related to game controls. The information is used to definecontrols that are appropriate for the user device 100 to enable the userto play the mini-game. Further, the user interface provides a renditionof the game play and accepts user interactions through the game controlsspecific for the client device. The user interface for game play of themini-game may replace the GUI where the plurality of mini-games wasrendered, or may be provided in a pop-up window or a new window.Although the embodiments of FIG. 4C are described with reference toproviding an organized list of mini-games for user interaction andrendering, the teachings of the various embodiments can be extended toprovide an organized list of ranked video clips of a game.

In another embodiment illustrated in FIG. 4D, the mini-game selected forplay by user Bob may be a post shared by another user. For instance,user Bob may accept a challenge extended by user Mark by selectingMark's mini-game MG_(a1), and play the game. When user Bob passivelyselects the mini-game MG_(a1), a video of game play of the mini-gamegenerated by user Mark will render at the user-interface of the displayof the client device of Bob. When the user Bob actively selects themini-game MG_(a1), a user interface of game play will be renderedenabling the user Bob to play the mini-game MG_(a1). In this embodiment,user interface of game play provided by the game processor module willinclude the original post of MG_(a1)'s creator, responses by the otherusers that have accepted the challenge and a game play interface foruser Bob to play the game and generate a mini-game play video and anyresponse to the challenge.

It should be noted herein that each mini-game that has been shared willinclude a mini-game posting indicator box (i.e., challengeebox/indicator) that is non-zero. User Bob may play the mini-gameMG_(a1), generate a mini-game play video and post the mini-game playvideo in response to the challenge. User Bob may also share themini-game MG_(a1) with other users in the form of a link using ashare/post option available to user Bob. The share option is exemplaryand should not be considered limiting. Other forms of sharing/postingmay be used. When other users access the mini-game MG_(a1) shared byuser Bob, they will be directed to the original post of the user Markthat created mini-game MG_(a1) and the posting indicator box ofmini-game MG_(a1) will be incremented to reflect the current challengeecounter value when the other users accept the challenge and play themini-game. Each of the mini-game play videos and challenge response areupdated to the mini-game data store and game network user store 165. Anavigation bar may be provided to enable any user to view the responsesfrom all the other users that have responded to the challenge.

In one embodiment, the posting of the mini-game provided in the webpageof the game website accessed by user Bob, may include other gamemetrics, such as the mini-game score of the creator of the mini-game,challengee count of the mini-game, etc. For a mini-game that is justcreated, the challengee counter is one and the game score may be thescore achieved by the user creating the mini-game. In one embodiment, asother users accept the challenge, the mini-game score in the main postof the mini-game may be updated with a mini-game score of another userthat achieved a score higher than the user that created the mini-game.In this embodiment, the user ID of the user that achieved the higherscore may also be rendered alongside the mini-game score in the mainpost of the mini-game. In one embodiment, the game score with the userID may be provided as a link, which when selected may direct a user tothe mini-game play video of the user whose higher score is rendered atthe main post of the mini-game.

In addition to the challengee counter, the mini-game post may alsorender an image or avatar of a user, user ID, status of a user withinthe game network and a rating of the mini-game as provided by otherusers or as computed based on the level of sharing and level ofresponses received for the mini-game. In one embodiment, the status ofthe user creating the mini-game is computed based on the number ofmini-games that was created by the user, number of other users thatplayed the mini-game, number of users that viewed the mini-game, numberof users that recommended the mini-game, etc. The status indicates therelative ranking of the user within the game network.

For instance, the status of a user may be in the form of a ranking, suchas Platinum rank, Gold rank, Silver Rank, Bronze rank, etc. The aboveform of providing status is exemplary and other forms of providingstatus may be used. In some embodiments, depending on the relativeranking of the user, incentives may be provided by a video game owner.The incentives may be in the form of monetary awards, game objectawards, unlocking of one or more games/game levels, providing freeplays, or additional incentives/perks. These incentives are provided tokeep the user engaged and involved with the games within the gamenetwork.

FIG. 5A illustrates an exemplary user interface 550 within a socialstream of a social network from which a network user (for e.g., userBob) accesses and plays the mini-game, in one embodiment of theinvention. The process to access and play the mini-game illustrated inthe embodiment of FIG. 5A may be extended to access and view the videoclip generated for the game. User Bob accesses the game post thatincludes a mini-game video segment indicated by a mini-game video viewicon, an executable portion of the mini-game and any challenge comment510 provided by a creator of the mini-game. The game post may beprovided as an internal link to enable the user to access and play thegame from within the social network stream or may be provided as anexternal link to enable the user to play the game from a game network orother network website as specified in the external link.

In this instance, the mini-game and the challenge comment is created byuser Bob. Some examples of challenge comments (comments 510-A through510-C) are illustrated in FIG. 5A. In response to the challenge comment,a plurality of users, Steve, John, Mike, Eva, etc., may play themini-game. The game play is captured in a mini-game play video. Usersmay also respond to the challenge comment in the form of a challengeresponse 510-D and 510-E, etc. Each mini-game play generated by otherusers that accept the challenge along with any challenge response isassociated with the original post of the mini-game so as to be presentedalongside the mini-game for other users to view and play.

Users responding to the challenge comment from a creating user may allnot respond to the comment. Instead, they may simply play the mini-gameprovided in the post. As a result, some of the mini-game play videosgenerated in response to the initial mini-game challenge may not includeany challenge responses. Irrespective of whether a user provides achallenge response or not, each of the mini-game play videos recordingthe mini-game play are stored with the post in the mini-game datastore/user data store and rendered alongside the mini-game post forother users to view and play.

FIG. 5B illustrates a webpage 500A that shows a shared mini-game 501along with other related information, in accordance with one embodimentof the present invention. It should be noted that the webpage 500A mayalso be used to render various options to enable sharing, recommendingand rating of a video clip by users. In one embodiment, webpage 500A isa social network webpage of a social network user (e.g., user A), andthe social network may be maintained by a social media provider 140 asshown in FIG. 1A. In another embodiment, the webpage 500A is a gamenetwork webpage maintained by the game network. In one embodiment, thewebpage 500A can be content that is displayed in a newsfeed of a socialnetwork. In still another embodiment, the content of the webpage 500Amay be rearranged in another form, to fit within a website of the gameprovider or the cloud gaming network provider.

In this embodiment, webpage 500A shows a shared mini-game 501,associated with five mini-game play videos (MGPVs) 502 (that are createdbased on the executions (or plays) of mini-game 501 by others), a playbutton 503 for executing the game code of the shared mini-game 501 withan initial image provided by a video frame that is representative of thecontent of the mini-game, a comment input window 504 to providechallenge comment, a user identifier window 505 of the user accessingthe mini-game that is posted for sharing or creating the mini-game forsharing, a mini-game video view icon 506, five mini-game play video viewicons 507 to view the mini-game play videos generated by other usersthat accepted the challenge, a share button 508 for sharing mini-game501, e.g., with other users who are network friends of user A, arecommendation button 509 for recommending mini-game 501, a rate icon510, and a mouse cursor 511.

In one embodiment, user A may simply view the shared mini-game 501 byclicking mini-game view icon 506. In response to the user activity ofclicking, the video segment of the mini-game 501 is rendered at adisplay 132 of the user device 100. During the view of video segment orafter the view of the video segment of the mini-game 501, user A mayplay an executable version of the mini-game 501 by pushing play button503. If mini-game 501 gets a lot of plays, either due to popularity orby sharing, the mini-game 501 may get a history of plays. The history ofplays for mini-game 501 will be represented by the mini-game play video(MGPVs) 502. In this embodiment, the history of plays is rendered in acompact form. In another embodiment, the history may be rendered in anexpanded form, as will be described with reference to FIG. 6. In oneembodiment, the player and the playing score of a created mini-game playvideo are shown to the right of the mini-game play video 502. In anotherembodiment, the player and the challengee counter may be shown to theright of the mini-game play video 502. A user may wish to view the priorplays generated by other users by clicking the corresponding mini-gameplay video view icon 507.

User A can also share mini-game 501 with his or her social networkfriends, or recommend mini-game 501 by pushing share button 508 andrecommendation button 509, respectively. User comments for mini-game 501(e.g., “Good Game!”) may be entered in comment input window 504. In oneembodiment, the user recommendations and sharing, and the user commentsentered for mini-game 501, the number of times mini-game 501 is viewedor played, and the number of mini-game play videos 502 created based onthe execution of mini-game 501 will be recorded in a mini-game dataprofile stored in mini-game data store 166 and/or in user data profilestored in game network user store 165 of game cloud system 110, as shownin FIG. 1A.

All or some of the data collected from the sharing, such as plays,sharing with others, sharing on social sites, rate of sharing, number ofrecommendations, actual ratings, etc., can be used to generate a rankingscore. The ranking score can be used to promote the mini-game andencourage additional sharing or play. Games that are higher ranked canearn rewards to the creator and can also provide a higher rating to theuser and better status for the user that created the higher rankedmini-games.

In one embodiment, the game manufacturer of the original game titlebased on which mini-game 501 is created may identify the users whofrequently play the shared mini-game 501 and the users who got high playscores, and send target messages, notifications, emails, and/oradvertisements to those identified users. In this example, Bob hasplayed the shared mini-game 501 three times with decent scores. Thus,the game manufacturer may send a message to Bob to advertise theoriginal game title and offer purchase discount. Alternatively, ifmini-game 501 is a very popular shared mini-game in the cloud, the gamemanufacturer may study the video frames and the actions associated withmini-game 501 and create new games that include video frames and actionssimilar to the ones in mini-game 501. Similarly, when a video clipposted by a particular user becomes popular amongst the other users, thegame manufacturer/game retailer may provide incentives for theparticular user encouraging the particular user to generate more of suchvideo clips for the selected game or for other available games.

FIG. 6 illustrates a user interface 600A provided with a social streamof a social network from which a network user (for e.g., user Bob)accesses and plays the mini-game, in one embodiment of the invention. Asmentioned earlier, the mini-game rendered on the webpage includes avideo portion accessed through a mini-game video view icon, anexecutable portion that is triggered upon user activity, and a challengeportion that is rendered alongside the mini-game in the mini-game post.In addition, a count of the number of viewers that accessed and playedthe mini-game (i.e., challengee counter) 416, the rating of themini-game provided by users who played the game 606, status of the usersthat play the mini-game 608, and challenge responses may also berendered.

Additionally, the game score 602 achieved during game play of themini-game may also be posted with the mini-game. The number of usersresponding to the challenge is accumulated in the challengee counter bya metric accumulator and the same is updated to the mini-game data storeand game network data store for computing additional game and/or usermetrics. Similarly, number of users sharing the mini-game is accumulatedunder share metric and the rating information provided by the users areupdated to the mini-game data store and game network user data storewithin the GCS 110. Similar concept may be extended to the sharing ofthe video clip, wherein user interactions at the video clip are capturedby the metric accumulator and used to update the user metrics, the videoclip metrics associated with the game and the game metrics of the game.The metric accumulator uses these different metrics to determineadditional user metrics, such as the popularity of the user, therelative ranking of the user, the status of the user and additional gamemetrics, such as the popularity of the mini-games, the ranking of themini-games, etc.

The game metrics and user metrics are used to rank and order themini-games when presenting the mini-games in the webpage of the gamenetwork or the social network, with higher ranked mini-games and usersbeing presented prominently at the top and lower ranked ones in thebottom. These relative rankings are also used to promote the full games,additional games by game developers and for targeting advertisementsand/or promotional media by advertisers or game developers.

The various embodiments provide a way to manage games within a gamenetwork by providing access to portions of games/video clips to users togenerate interest in the game and to encourage the users to play theportions of the games and get engaged or view the portions of the gamewithin the video clips to generate sufficient interest in the game. Byproviding access to mini-games/video clips, users are given a samplepreview of the various content of the game leading to the userspotentially buying the game. The mini-games/video clips give a view tothe content and challenges of the game and a sampling of actual users'game play without overwhelming the users with a full blown game.Additionally, by making the games more interactive and by allowing theusers to generate their own mini-games for sharing with other users, thegame developers/owners make it interesting for the users and keep theusers more engaged. Other advantages will become apparent to one skilledin the art.

FIG. 7 is a flow chart illustrating an exemplary method 700 for managingexecution and sharing of mini-games over a game cloud system, inaccordance with one embodiment of the present invention. In oneembodiment, the illustrated exemplary method 700 is described inrelation to operations performed by game cloud system 110 as shown inFIGS. 1A and 1B.

At operation 710, a request is received from a first user to access anaccount managed by the game cloud system. The user access may be in theform of a user authentication module that authenticates a user beforeaccess to the user account can be provided to the user. In response tosuccessful authentication of the user, a plurality of games that arestored in a cloud is provided in a user interface, as illustrated inoperation 720. The games that are provided are the ones that areavailable for the user account. Game play of any one of the gamespresented in the user interface is enabled and a video is generatedcapturing a recording of user activities associated with a game play fora first game selected by a first user, as illustrated in operation 730.The recorded game play is for the full game played by the first user.

During the game play or after the game play, a selection of a portion ofthe recorded video is received from the first user, as illustrated inoperation 740. The selection causes a game processor module executing onthe game cloud system to generate a mini-game. The mini-game generatedby the game processor module includes a recorded video for the portionof the game defined within the mini-game and an executable portion forthe mini-game. In one embodiment, control information provided withinthe user interface will enable the first user to define a starting frameand an ending frame of the video to define the portion of the mini-gameand the game processor module uses the frame pointer to identify theexecutable code that encompasses the portion of the mini-game.

A request to share the mini-game is received from the first user, asillustrated in operation 750. The request to share may be providedthrough user activity at a share option or a post option provided at theuser interface. The share request received at the game processor modulecauses the game processor module to post the mini-game to a website toenable other users to view the portion of the recorded video and playthe executable portion of the mini-game. The request also includes achallenge comment that is to be posted along with the mini-game to thewebsite. The challenge comment is provided by the first user.

In response to the request, the game processor posts the mini-game alongwith the challenge comment to the website, as illustrated in operation760. The mini-game with the challenge comment may be posted to one ormore social networks associated with the first user in a social streamor newsfeed to enable the friends and social contacts of the first userto accept the challenge and play the mini-game. Alternately or inaddition to posting to the social network, the mini-game with thechallenge comment may be posted to the game network for users of thegame network to view the video and play the mini-game.

One or more game plays from different users that access the mini-gameposted on the website are received and stored as mini-game play videosin the game system, as illustrated in operation 770. The storedmini-game play videos may include response comments for the challengecomment. The stored mini-game play videos are associated with theoriginal post of the mini-game so that when other users access themini-game posted on the website, the recorded video of the mini-game andthe one or more mini-game play videos are rendered alongside themini-game post. In addition to the recorded video and mini-game playvideos, challenge comment and any response comments may also be storedwith the mini-game and rendered alongside the mini-game for other usersto view. The mini-game play videos may be accessed by any user playingthe mini-game.

FIG. 8 is a flow chart illustrating an exemplary method 700 for managingsharing of game video of a game in a game cloud system, in accordancewith one embodiment of the present invention. The method begins atoperation 810, wherein a request is received from a first user to accessan account managed by the game cloud system. The user access may be inthe form of a user authentication module that authenticates a userbefore access to the user account can be provided to the user. Inresponse to successful authentication of the user, a plurality of gamesthat are stored in the game cloud system is provided in a userinterface, as illustrated in operation 820. The games that are providedare the ones that are available for the user account based on user'spurchase of the game or based on free games provided by a gamedeveloper/retailer/owner. Selection and game play of any one of thegames presented in the user interface is enabled and a video isgenerated capturing a recording of user activities associated with thegame play of a selected first game by a first user, as illustrated inoperation 830. The recorded game play is for the full game played by thefirst user.

During the game play or after the game play, a share request to sharethe recorded video of the game play is received from the first user, asillustrated in operation 840. The share request includes a locationindicator identifying a location within the recorded video, which is tobe used to generate a video clip of the recorded video.

The share request causes a game processor module executing on the gamecloud system to generate a video clip from the recorded video of thegame play of the first user, in response to the share request, asillustrated in operation 850. The video clip includes a portion of therecorded video for a pre-defined length or user-defined length inrelation to the location indicator identified in the share request. Thelocation indicator in the share request may identify a starting locationof recorded video, an ending location of recorded video or portions ofthe recorded video before and after the location indicator, forinclusion in the video clip.

The generated video clip is shared with one or more users based oninformation provided in the share request, as illustrated in operation860. The share request received at the game processor module causes thegame processor module to post the video clip to a website to enableother users to view the portion of the recorded video reflecting theuser's game play for the selected game. The video clip of a portion ofthe game play may be posted to one or more social networks associatedwith the first user in a social stream or newsfeed to enable the friendsand social contacts of the first user to view the portion of the gameplay included in the video clip. Alternately or in addition to postingto the social network, the video clip may be posted to the game networkor retailer's website for users of the game network/retailer to view thevideo clip of the game. The video clip provides a sample view of thecontent contained within the game.

The various embodiments described herein enable users to present asample view of the challenges/contents of a video game available in thegame cloud system by allowing the users to share a video clip of theiractual game play. The video clips generated by users may also be used bythe developers and/or owners/retailers of the game as a promotional toolto promote the game and to entice users to buy the game. Theowners/retailers may provide compensation to the users based on qualityof the video clips so as to encourage users to generate more of suchvideo clips. The sharing of the video clips enables the users to enhancetheir position/reputation within the gaming community, thereby providingan enriched gaming experience to the users. Other advantages may becomeapparent to one skilled in the art after viewing the variousembodiments.

In one embodiment, the game cloud system is configured to detect thetype of client device associated with the user, and also a type ofcontroller available for the user to provide input to the cloud-basedvideo game. For example, in one embodiment, when a user logs in to thegame cloud system, they may be presented with an option to designate thetype of client device with which they are accessing the game cloudsystem. In one embodiment, a series of client device options arepresented from which the user may select one corresponding to theirclient device. The user may also be presented with an option todesignate the type of controller device they will use to play a videogame. In one embodiment, a series of controller options can be presentedto the user, from which the user may select to designate a controllertype corresponding to their controller hardware. In other embodiments,the game cloud system can be configured to automatically detect theclient device type and/or the controller device type.

For example, at the time of login, the client device may sendinformation to the cloud gaming server identifying itself as well as aconnected controller device (e.g. in response to a request from thecloud gaming server). Based on this information, the game cloud servermay determine an appropriate video game output configuration and inputparameter configuration to provide a gaming experience optimized for theuser's client device and controller device. In one embodiment, a look-uptable is employed to determine video game configuration and inputparameter configuration based on a detected client device and a detectedcontroller device.

It should be appreciated that a given video game may be developed for aspecific platform and a specific associated controller device. However,when such a game is made available via a game cloud system as presentedherein, the user may be accessing the video game with a differentcontroller device. For example, a game might have been developed for agame console and its associated controller, whereas the user might beaccessing a cloud-based version of the game from a personal computerutilizing a keyboard and mouse. In such a scenario, the input parameterconfiguration can define a mapping from inputs which can be generated bythe user's available controller device (in this case, a keyboard andmouse) to inputs which are acceptable for the execution of the videogame.

In another example, a user may access the cloud gaming system via atablet computing device, a touchscreen smartphone, or other touchscreendriven device. In this case, the client device and the controller deviceare integrated together in the same device, with inputs being providedby way of detected touchscreen inputs/gestures. For such a device, theinput parameter configuration may define particular touchscreen inputscorresponding to game inputs for the video game. For example, buttons, adirectional pad, or other types of input elements might be displayed oroverlaid during running of the video game to indicate locations on thetouchscreen that the user can touch to generate a game input. Gesturessuch as swipes in particular directions or specific touch motions mayalso be detected as game inputs. In one embodiment, a tutorial can beprovided to the user indicating how to provide input via the touchscreenfor gameplay, e.g. prior to beginning gameplay of the video game, so asto acclimate the user to the operation of the controls on thetouchscreen.

In some embodiments, the client device serves as the connection pointfor a controller device. That is, the controller device communicates viaa wireless or wired connection with the client device to transmit inputsfrom the controller device to the client device. The client device mayin turn process these inputs and then transmit input data to the cloudgame server via a network (e.g. accessed via a local networking devicesuch as a router). However, in other embodiments, the controller canitself be a networked device, with the ability to communicate inputsdirectly via the network to the cloud game server, without beingrequired to communicate such inputs through the client device first. Forexample, the controller might connect to a local networking device (suchas the aforementioned router) to send to and receive data from the cloudgame server. Thus, while the client device may still be required toreceive video output from the cloud-based video game and render it on alocal display, input latency can be reduced by allowing the controllerto send inputs directly over the network to the cloud game server,bypassing the client device.

In one embodiment, a networked controller and client device can beconfigured to send certain types of inputs directly from the controllerto the cloud game server, and other types of inputs via the clientdevice. For example, inputs whose detection does not depend on anyadditional hardware or processing apart from the controller itself canbe sent directly from the controller to the cloud game server via thenetwork, bypassing the client device. Such inputs may include buttoninputs, joystick inputs, embedded motion detection inputs (e.g.accelerometer, magnetometer, gyroscope), etc. However, inputs thatutilize additional hardware or require processing by the client devicecan be sent by the client device to the cloud game server. These mightinclude captured video or audio from the game environment that may beprocessed by the client device before sending to the cloud game server.Additionally, inputs from motion detection hardware of the controllermight be processed by the client device in conjunction with capturedvideo to detect the position and motion of the controller, which wouldsubsequently be communicated by the client device to the cloud gameserver. It should be appreciated that the controller device inaccordance with various embodiments may also receive data (e.g. feedbackdata) from the client device or directly from the cloud gaming server.

Embodiments of the present invention may be practiced with variouscomputer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers and the like. Theinvention can also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a wire-based or wireless network.

With the above embodiments in mind, it should be understood that theinvention can employ various computer-implemented operations involvingdata stored in computer systems. These operations are those requiringphysical manipulation of physical quantities. Any of the operationsdescribed herein that form part of the invention are useful machineoperations. The invention also relates to a device or an apparatus forperforming these operations. The apparatus can be specially constructedfor the required purpose, or the apparatus can be a general-purposecomputer selectively activated or configured by a computer programstored in the computer. In particular, various general-purpose machinescan be used with computer programs written in accordance with theteachings herein, or it may be more convenient to construct a morespecialized apparatus to perform the required operations.

The invention can also be embodied as computer readable code on acomputer readable medium. The computer readable medium is any datastorage device that can store data, which can be thereafter be read by acomputer system. Examples of the computer readable medium include harddrives, network attached storage (NAS), read-only memory, random-accessmemory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes and other optical andnon-optical data storage devices. The computer readable medium caninclude computer readable tangible medium distributed over anetwork-coupled computer system so that the computer readable code isstored and executed in a distributed fashion.

Although the method operations were described in a specific order, itshould be understood that other housekeeping operations may be performedin between operations, or operations may be adjusted so that they occurat slightly different times, or may be distributed in a system whichallows the occurrence of the processing operations at various intervalsassociated with the processing, as long as the processing of the overlayoperations are performed in the desired way.

Although the foregoing invention has been described in some detail forpurposes of clarity of understanding, it will be apparent that certainchanges and modifications can be practiced within the scope of theappended claims. Accordingly, the present embodiments are to beconsidered as illustrative and not restrictive, and the invention is notto be limited to the details given herein, but may be modified withinthe scope and equivalents of the appended claims.

What is claimed is:
 1. A method for managing sharing of video clips ofgame play of a game, comprising: receiving a request from a first userto access an account managed by a game cloud system; presenting a userinterface to the first user to access a plurality of games configuredfor execution by the game cloud system that are available for game play;enabling game play of a first game and generating a recorded video ofthe game play for the first user; receiving a share request to share therecorded video of the game play, the share request received from thefirst user during or upon pausing or upon ending of the game play of thefirst game, the share request causing rendering of a second userinterface with a location indicator for selecting a portion of therecorded video that is to define a video clip of the recorded video forsharing; generating the video clip from the recorded video of the gameplay by the first user, the video clip being for the portion of therecorded video defined using the location indicator; generating anexecutable mini game for game play of a portion of the first gameidentified in the video clip, wherein executable code for generating theexecutable mini game includes code to enable interactive game play ofgame content that is contextually related to game content present in thegenerated video clip; and providing the video clip and a link to theexecutable mini game to one or more users, in response to the sharerequest received from the first user, wherein method operations areperformed by one or more game processing modules executing on a gameserver of the game cloud system.
 2. The method of claim 1, whereinpresenting a user interface with the plurality of games is uponsuccessful validation of the first user at a validation interfacepresented in response to the request to access the account.
 3. Themethod of claim 1, wherein the share request is received through one ofactive selection or passive selection.
 4. The method of claim 1, whereingenerating the video clip includes, identifying a length of game playfrom within the recorded video that is selected for sharing, the lengthof game play is pre-defined or controlled by the first user.
 5. Themethod of claim 4, wherein generating the video clip further includes,extracting a portion of the recorded video covering the length of gameplay ending at the location indicator to define the video clip.
 6. Themethod of claim 4, wherein generating the video clip further includes,extracting a portion of the recorded video covering the length of gameplay beginning at the location indicator to define the video clip. 7.The method of claim 4, wherein generating the video clip furtherincludes, extracting a portion of the recorded video covering the lengthof game play to define the video clip, wherein the portion beingextracted includes portions of recorded video before and after thelocation indicator.
 8. The method of claim 1, wherein sharing the videoclip and the associated executable mini game is by posting the videoclip and the link to a website, wherein the website is associated withone or more social networks, the game cloud system a game provider, agame distributor, or a combination thereof.
 9. The method of claim 8,further includes, monitoring user interactions for the shared video clipin the one or more social networks; determining a popularity score ofthe video clip based on the number of users identified for sharing anduser interactions at the video clip presented in the one or more socialnetworks; and updating the video clip with the popularity score, whereinthe popularity score is used in organizing the video clips and theassociated executable mini game shared by plurality of users for thefirst game, within the game cloud system.
 10. The method of claim 9,further includes, receiving a request to access the first game executingon the game cloud system, from a requester; generating a user interfacewith available video clips for the first game, the video clips organizedbased on relative ranking defined by the popularity score, the userinterface including a link with an image that is representative ofcontent contained therein and the popularity score associated with eachof the video clips; and presenting the user interface with the videoclips and a link to respective executable mini games for selection toenable viewing of the corresponding video clip by the requester or gameplaying of the executable mini game.
 11. A system for managing sharingof video clips of game play of a game, comprising: a game server withina game cloud system having a memory to store a game processor module anda processor configured to execute the game processor module retrievedfrom memory, the game processor module having processing logic to:provide access to an user account managed by the game cloud system;generate a user interface with a plurality of games available forplaying for the user account, wherein the games are configured forexecution on the game cloud system, the user interface presented uponaccessing the user account; enable selection and play of a first game bya first user, the play of the first game used to generate a recordedvideo of the game play of the first user; receive a share request toshare the recorded video of the game play, from the first user, whereinthe share request is received during or upon pausing or upon ending ofthe game play of the first game, the share request causing rendering ofa second user interface with a location indicator for selecting aportion of the recorded video that is to define a video clip of therecorded video for sharing; generate the video clip from the recordedvideo of the game play by the first user, the video clip being for theportion of the recorded video defined using the location indicator;generate an executable mini game for play of the portion of the firstgame identified in the generated video clip, wherein executable code forgenerating the executable mini game includes code to enable interactivegame play of game content that is contextually related to game contentpresent in the generated video clip; and enable sharing of the videoclip by posting the video clip and a link to the executable mini game toa website for other users to view the portion of the recorded video orplay the executable mini game, in response to the share request receivedfrom the first user; and store the video clip for the game in the gamecloud system for subsequent retrieval.
 12. The system of claim 11,wherein the game processor module includes processing logic to receiveuser interactions provided at the video clip presented on the website,the user interactions used to update one or more game metrics and usermetrics, the one or more game metrics used in computing popularity scoreof the video clip and the one or more user metrics used in computingpopularity rating and status of the first and other users.
 13. Thesystem of claim 12, wherein the game processor module includesprocessing logic to include the one or more game metrics, user metrics,popularity score of the video clips and status of the first and otherusers with the video clip when posting the video clip to the website.14. A method for managing sharing of video clips on a server,comprising: receiving a request for accessing a game managed by theserver, the request received from a first user; identifying availablevideo clips for the game identified in the request, each video clipincluding a portion of recording of game play of the game played andshared by another user, wherein the portion is defined by the anotheruser using a location indicator provided on a first user interface;generating a second user interface for including the available videoclips for the game identified in the request, each video clip isrepresented using an interactive image that is representative of contentcontained therein and is associated with a link to an executable minigame that is generated for the portion of the recording, wherein theexecutable mini game includes code to enable interactive game play ofgame content that is contextually related to game content present in thevideo clip; presenting the second user interface with the interactiveimages of the available video clips and links to the correspondingexecutable mini games, wherein selection of an interactive image enablesviewing of a corresponding video clip and selection of the link enablesgame play of the corresponding executable mini game, wherein methodoperations are performed by one or more processors of the server. 15.The method of claim 14, wherein the second user interface is presentedon one or more social networks, a game cloud system on a webpage on agame website, or a combination thereof.
 16. The method of claim 14,further includes presenting the video clips in order of relativeranking, wherein the relative ranking is determined based on userinteractions at the respective video clips on the second user interface.